Skip to main content

OpenSSL升级

Centos7 默认提供的 openssl 版本是 1.0.2 ,某些 php 扩展或者其他软件依赖 1.1 以上版本

如果过低的话就会报错

libssl.so.1.1: cannot open shared object file: No such file or directory

也有执行 openssl version 时报错和上面一致,这是由于 openssl 库的位置不正确或未安装 1.1 以上版本的问题

想要升级 openssl 版本则需要手动进行编译,报错解决方式很简单,安装正确即可,下面以 Centos7 为例演示具体的编译安装步骤

1. 下载 openssl

wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz

2. 编译 openssl

tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install

编译完成后,使用 openssl version 来查看一下当前 openssl 版本号时,你会发现还是 1.0.2,所以这里需要做一些额外的配置工作

3. 配置

echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig

再次使用 openssl version 验证版本

如果不行,可以尝试下面的方式

依次执行(先备份老版本,再从新版本安装位置创建软连接)

mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib/openssl /usr/lib/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v